<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-linux;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-freebsd;$(NetCoreAppCurrent)-maccatalyst;$(NetCoreAppCurrent)-ios;$(NetCoreAppCurrent)-tvos;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)-wasi;$(NetCoreAppCurrent)-illumos;$(NetCoreAppCurrent)-solaris;$(NetCoreAppCurrent)-haiku;$(NetCoreAppCurrent)-android;$(NetCoreAppCurrent)</TargetFrameworks>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <DefineConstants>$(DefineConstants);HTTP_DLL</DefineConstants>
    <EnablePreviewFeatures>true</EnablePreviewFeatures>
  </PropertyGroup>

  <!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. -->
  <PropertyGroup>
    <TargetPlatformIdentifier>$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</TargetPlatformIdentifier>
    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetPlatformIdentifier)' == ''">SR.PlatformNotSupported_NetHttp</GeneratePlatformNotSupportedAssemblyMessage>
    <FeatureWasmManagedThreads Condition="'$(TargetPlatformIdentifier)' == 'browser' and '$(WasmEnableThreads)' == 'true'">true</FeatureWasmManagedThreads>
    <DefineConstants Condition="'$(TargetPlatformIdentifier)' == 'osx' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(TargetPlatformIdentifier)' == 'maccatalyst'">$(DefineConstants);SYSNETHTTP_NO_OPENSSL</DefineConstants>
    <DefineConstants Condition="'$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos'">$(DefineConstants);TARGET_MOBILE</DefineConstants>
    <DefineConstants Condition="'$(TargetPlatformIdentifier)' == 'android'">$(DefineConstants);TARGET_ANDROID</DefineConstants>
    <DefineConstants Condition="'$(TargetPlatformIdentifier)' == 'ios'">$(DefineConstants);TARGET_IOS</DefineConstants>
    <DefineConstants Condition="'$(TargetPlatformIdentifier)' == 'maccatalyst'">$(DefineConstants);TARGET_MACCATALYST</DefineConstants>
    <DefineConstants Condition="'$(TargetPlatformIdentifier)' == 'tvos'">$(DefineConstants);TARGET_TVOS</DefineConstants>
    <DefineConstants Condition="'$(TargetPlatformIdentifier)' == 'browser'">$(DefineConstants);TARGET_BROWSER</DefineConstants>
    <DefineConstants Condition="'$(TargetPlatformIdentifier)' == 'wasi'">$(DefineConstants);TARGET_WASI</DefineConstants>
    <DefineConstants Condition="'$(FeatureWasmManagedThreads)' == 'true'" >$(DefineConstants);FEATURE_WASM_MANAGED_THREADS</DefineConstants>
    <EmitCompilerGeneratedFiles Condition="'$(Configuration)' == 'Debug' and '$(TargetPlatformIdentifier)' == 'browser'">true</EmitCompilerGeneratedFiles>
  </PropertyGroup>

  <ItemGroup>
    <ILLinkSubstitutionsXmls Include="$(ILLinkDirectory)ILLink.Substitutions.xml" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(TargetPlatformIdentifier)' == 'browser' or '$(TargetPlatformIdentifier)' == 'wasi'">
    <ILLinkSubstitutionsXmls Include="$(ILLinkDirectory)ILLink.Substitutions.mobile.xml" Condition="'$(TargetPlatformIdentifier)' != 'browser' and '$(TargetPlatformIdentifier)' != 'wasi'" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != ''">
    <Compile Include="System\Net\Http\ByteArrayContent.cs" />
    <Compile Include="System\Net\Http\CancellationHelper.cs" />
    <Compile Include="System\Net\Http\ClientCertificateOption.cs" />
    <Compile Include="System\Net\Http\DelegatingHandler.cs" />
    <Compile Include="System\Net\Http\DiagnosticsHandler.cs" />
    <Compile Include="System\Net\Http\DiagnosticsHandlerLoggingStrings.cs" />
    <Compile Include="System\Net\Http\EmptyContent.cs" />
    <Compile Include="System\Net\Http\EmptyReadStream.cs" />
    <Compile Include="System\Net\Http\FormUrlEncodedContent.cs" />
    <Compile Include="System\Net\Http\GlobalHttpSettings.cs" />
    <Compile Include="System\Net\Http\HeaderEncodingSelector.cs" />
    <Compile Include="System\Net\Http\Headers\KnownHeader.cs" />
    <Compile Include="System\Net\Http\Headers\HttpHeaderType.cs" />
    <Compile Include="System\Net\Http\Headers\KnownHeaders.cs" />
    <Compile Include="System\Net\Http\HttpBaseStream.cs" />
    <Compile Include="System\Net\Http\HttpClient.cs" />
    <Compile Condition="'$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos'"
             Include="System\Net\Http\HttpClientHandler.AnyMobile.cs" />
    <Compile Condition="'$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos'"
             Include="System\Net\Http\HttpClientHandler.AnyMobile.InvokeNativeHandler.cs" />
    <Compile Condition="'$(TargetPlatformIdentifier)' != 'android' and '$(TargetPlatformIdentifier)' != 'ios' and '$(TargetPlatformIdentifier)' != 'maccatalyst' and '$(TargetPlatformIdentifier)' != 'tvos'"
             Include="System\Net\Http\HttpClientHandler.cs" />
    <Compile Include="System\Net\Http\HttpCompletionOption.cs" />
    <Compile Include="System\Net\Http\HttpContent.cs" />
    <Compile Include="System\Net\Http\HttpMessageHandler.cs" />
    <Compile Include="System\Net\Http\HttpMessageInvoker.cs" />
    <Compile Include="System\Net\Http\HttpMethod.cs" />
    <Compile Include="System\Net\Http\HttpParseResult.cs" />
    <Compile Include="System\Net\Http\HttpProtocolException.cs" />
    <Compile Include="System\Net\Http\HttpRequestException.cs" />
    <Compile Include="System\Net\Http\HttpRequestError.cs" />
    <Compile Include="System\Net\Http\HttpRequestMessage.cs" />
    <Compile Include="System\Net\Http\HttpRequestOptions.cs" />
    <Compile Include="System\Net\Http\HttpRequestOptionsKey.cs" />
    <Compile Include="System\Net\Http\HttpResponseMessage.cs" />
    <Compile Include="System\Net\Http\HttpIOException.cs" />
    <Compile Include="System\Net\Http\HttpRuleParser.cs" />
    <Compile Include="System\Net\Http\HttpTelemetry.cs" />
    <Compile Include="System\Net\Http\HttpVersionPolicy.cs" />
    <Compile Include="System\Net\Http\MessageProcessingHandler.cs" />
    <Compile Include="System\Net\Http\MultipartContent.cs" />
    <Compile Include="System\Net\Http\MultipartFormDataContent.cs" />
    <Compile Include="System\Net\Http\NetEventSource.Http.cs" />
    <Compile Include="System\Net\Http\ReadOnlyMemoryContent.cs" />
    <Compile Include="System\Net\Http\RequestRetryType.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpMessageHandlerStage.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\RuntimeSettingParser.cs" />
    <Compile Include="System\Net\Http\StreamContent.cs" />
    <Compile Include="System\Net\Http\StreamToStreamCopy.cs" />
    <Compile Include="System\Net\Http\StringContent.cs" />
    <Compile Include="System\Net\Http\Headers\AuthenticationHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\BaseHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\ByteArrayHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\CacheControlHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\CacheControlHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\ContentDispositionHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\ContentRangeHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\CookieHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\DateHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\EntityTagHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\GenericHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\HeaderDescriptor.cs" />
    <Compile Include="System\Net\Http\Headers\HeaderStringValues.cs" />
    <Compile Include="System\Net\Http\Headers\HeaderUtilities.cs" />
    <Compile Include="System\Net\Http\Headers\HttpContentHeaders.cs" />
    <Compile Include="System\Net\Http\Headers\HttpGeneralHeaders.cs" />
    <Compile Include="System\Net\Http\Headers\HttpHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\HttpHeaders.cs" />
    <Compile Include="System\Net\Http\Headers\HttpHeadersNonValidated.cs" />
    <Compile Include="System\Net\Http\Headers\HttpHeaderValueCollection.cs" />
    <Compile Include="System\Net\Http\Headers\HttpRequestHeaders.cs" />
    <Compile Include="System\Net\Http\Headers\HttpResponseHeaders.cs" />
    <Compile Include="System\Net\Http\Headers\Int32NumberHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\Int64NumberHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\MediaTypeHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\MediaTypeHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\MediaTypeWithQualityHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\NameValueHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\NameValueWithParametersHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\ObjectCollection.cs" />
    <Compile Include="System\Net\Http\Headers\ProductHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\ProductInfoHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\ProductInfoHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\QPackStaticTable.cs" />
    <Compile Include="System\Net\Http\Headers\RangeConditionHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\RangeHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\RangeItemHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\RetryConditionHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\StringWithQualityHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\TimeSpanHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\TransferCodingHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\TransferCodingHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\TransferCodingWithQualityHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\UriHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\ViaHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\WarningHeaderValue.cs" />
    <Compile Include="System\Net\Http\Metrics\HttpMetricsEnrichmentContext.cs" />
    <Compile Include="System\Net\Http\Metrics\MetricsHandler.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\SocketsHttpPlaintextStreamFilterContext.cs" />
    <Compile Include="$(CommonPath)DisableRuntimeMarshalling.cs"
             Link="Common\DisableRuntimeMarshalling.cs" />
    <Compile Include="$(CommonPath)System\IO\DelegatingStream.cs"
             Link="Common\System\IO\DelegatingStream.cs" />
    <Compile Include="$(CommonPath)System\IO\ReadOnlyMemoryStream.cs"
             Link="Common\System\IO\ReadOnlyMemoryStream.cs" />
    <Compile Include="$(CommonPath)System\Text\StringBuilderCache.cs"
             Link="Common\System\Text\StringBuilderCache.cs" />
    <Compile Include="$(CommonPath)System\Net\Logging\NetEventSource.Common.cs"
             Link="Common\System\Net\Logging\NetEventSource.Common.cs" />
    <Compile Include="$(CommonPath)System\Net\Logging\NetEventSource.Common.Associate.cs"
             Link="Common\System\Net\Logging\NetEventSource.Common.Associate.cs" />
    <Compile Include="$(CommonPath)System\Net\HttpDateParser.cs"
             Link="Common\System\Net\HttpDateParser.cs" />
    <Compile Include="$(CommonPath)System\Text\SimpleRegex.cs"
             Link="Common\System\Text\SimpleRegex.cs" />
    <Compile Include="$(CommonPath)System\HexConverter.cs"
             Link="Common\System\HexConverter.cs" />
    <Compile Include="$(CommonPath)System\Net\ArrayBuffer.cs"
             Link="Common\System\Net\ArrayBuffer.cs"/>
    <Compile Include="$(CommonPath)System\Net\MultiArrayBuffer.cs"
             Link="Common\System\Net\MultiArrayBuffer.cs"/>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\H2StaticTable.cs"
             Link="Common\System\Net\Http\aspnetcore\Http2\Hpack\H2StaticTable.cs" />
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\QPack\H3StaticTable.cs"
             Link="Common\System\Net\Http\aspnetcore\Http3\QPack\H3StaticTable.cs" />
    <Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs"
             Link="Common\System\Text\ValueStringBuilder.cs" />
    <Compile Include="$(CommonPath)System\Text\ValueStringBuilder.AppendSpanFormattable.cs"
             Link="Common\System\Text\ValueStringBuilder.AppendSpanFormattable.cs" />
    <Compile Include="$(CommonPath)System\Obsoletions.cs"
             Link="Common\System\Obsoletions.cs" />
  </ItemGroup>

  <!-- SocketsHttpHandler implementation -->
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != '' and '$(TargetPlatformIdentifier)' != 'browser'">
    <Compile Include="System\Net\Http\HttpHandlerDefaults.cs" />
    <Compile Include="System\Net\Http\HttpMethod.SocketsHttpHandler.cs" />
    <Compile Include="System\Net\Http\Headers\AltSvcHeaderParser.cs" />
    <Compile Include="System\Net\Http\Headers\AltSvcHeaderValue.cs" />
    <Compile Include="System\Net\Http\Headers\KnownHeader.Http2And3.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\AuthenticationHelper.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\AuthenticationHelper.Digest.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\AuthenticationHelper.NtAuth.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\ChunkedEncodingReadStream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\ChunkedEncodingWriteStream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\ConnectHelper.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\ConnectionCloseReadStream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\ContentLengthReadStream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\ContentLengthWriteStream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\CookieHelper.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\CreditManager.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\CreditWaiter.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\DecompressionHandler.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\FailedProxyCache.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\Http2Connection.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\Http2ProtocolErrorCode.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\Http2Stream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\Http2StreamWindowManager.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\Http3Connection.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\Http3RequestStream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpAuthenticatedConnectionHandler.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpAuthority.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpConnection.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpConnectionBase.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpConnectionHandler.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpConnectionKind.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpConnectionPool.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpConnectionPoolManager.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpConnectionResponseContent.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpConnectionSettings.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpContentReadStream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpContentStream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpContentWriteStream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpKeepAlivePingPolicy.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpUtilities.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\IHttpTrace.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\IMultiWebProxy.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\MultiProxy.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\RawConnectionStream.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\RedirectHandler.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\SocketsHttpConnectionContext.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\SocketsHttpHandler.cs" />
    <Compile Include="System\Net\Http\HttpTelemetry.AnyOS.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\SystemProxyInfo.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\SocksHelper.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\SocksException.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\Metrics\ConnectionMetrics.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\Metrics\SocketsHttpHandlerMetrics.cs" />
    <Compile Include="$(CommonPath)System\Net\Security\SslClientAuthenticationOptionsExtensions.cs"
             Link="Common\System\Net\Security\SslClientAuthenticationOptionsExtensions.cs" />
    <Compile Include="$(CommonPath)System\Net\ExceptionCheck.cs"
             Link="Common\System\Net\ExceptionCheck.cs" />
    <Compile Include="$(CommonPath)System\Collections\Generic\BidirectionalDictionary.cs"
             Link="Common\System\Collections\Generic\BidirectionalDictionary.cs" />
    <Compile Include="$(CommonPath)System\NotImplemented.cs"
             Link="Common\System\NotImplemented.cs" />
    <Compile Include="$(CommonPath)System\Net\NegotiationInfoClass.cs"
             Link="Common\System\Net\NegotiationInfoClass.cs" />
    <Compile Include="$(CommonPath)System\Net\InternalException.cs"
             Link="Common\System\Net\InternalException.cs" />
    <Compile Include="$(CommonPath)System\Net\DebugSafeHandle.cs"
             Link="Common\System\Net\DebugSafeHandle.cs" />
    <Compile Include="$(CommonPath)System\Net\DebugSafeHandleZeroOrMinusOneIsInvalid.cs"
             Link="Common\System\Net\DebugSafeHandleZeroOrMinusOneIsInvalid.cs" />
    <Compile Include="$(CommonPath)System\Threading\Tasks\TaskCompletionSourceWithCancellation.cs"
             Link="Common\System\Threading\Tasks\TaskCompletionSourceWithCancellation.cs" />
    <!-- Header support -->
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\IHttpStreamHeadersHandler.cs">
      <Link>Common\System\Net\Http\aspnetcore\IHttpStreamHeadersHandler.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\DynamicTable.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\DynamicTable.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\HeaderField.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\HeaderField.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\HPackDecoder.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\HPackDecoder.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\HPackDecodingException.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\HPackDecodingException.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\HPackEncoder.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\HPackEncoder.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\HPackEncodingException.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\HPackEncodingException.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\Huffman.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\Huffman.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\HuffmanDecodingException.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\HuffmanDecodingException.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\IntegerDecoder.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\IntegerDecoder.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\IntegerEncoder.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\IntegerEncoder.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\H2StaticTable.Http2.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\H2StaticTable.Http2.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http2\Hpack\StatusCodes.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http2\Hpack\StatusCodes.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\Http3SettingType.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\Http3SettingType.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\Http3StreamType.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\Http3StreamType.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\Helpers\VariableLengthIntegerHelper.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\Helpers\VariableLengthIntegerHelper.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\Frames\Http3ErrorCode.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\Frames\Http3ErrorCode.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\Frames\Http3Frame.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\Frames\Http3Frame.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\Frames\Http3FrameType.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\Frames\Http3FrameType.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\QPack\HeaderField.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\QPack\HeaderField.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\QPack\QPackDecoder.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\QPack\QPackDecoder.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\QPack\QPackDecodingException.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\QPack\QPackDecodingException.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\QPack\QPackEncoder.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\QPack\QPackEncoder.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\QPack\QPackEncodingException.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\QPack\QPackEncodingException.cs</Link>
    </Compile>
    <Compile Include="$(CommonPath)System\Net\Http\aspnetcore\Http3\QPack\H3StaticTable.Http3.cs">
      <Link>Common\System\Net\Http\aspnetcore\Http3\QPack\H3StaticTable.Http3.cs</Link>
    </Compile>
  </ItemGroup>

  <!-- SocketsHttpHandler platform parts -->
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != '' and '$(TargetPlatformIdentifier)' != 'windows' and '$(TargetPlatformIdentifier)' != 'browser'">
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpEnvironmentProxy.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpEnvironmentProxy.Unix.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\CurrentUserIdentityProvider.Unix.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != '' and '$(TargetPlatformIdentifier)' != 'windows' and '$(TargetPlatformIdentifier)' != 'browser' and '$(TargetPlatformIdentifier)' != 'osx' and '$(TargetPlatformIdentifier)' != 'ios' and '$(TargetPlatformIdentifier)' != 'tvos' and '$(TargetPlatformIdentifier)' != 'maccatalyst'">
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpNoProxy.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\SystemProxyInfo.Unix.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'osx' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(TargetPlatformIdentifier)' == 'maccatalyst'">
    <Compile Include="System\Net\Http\SocketsHttpHandler\SystemProxyInfo.OSX.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\MacProxy.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.CoreFoundation.cs"
             Link="Common\Interop\OSX\Interop.CoreFoundation.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.CoreFoundation.CFArray.cs"
             Link="Common\Interop\OSX\Interop.CoreFoundation.CFArray.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.CoreFoundation.CFData.cs"
             Link="Common\Interop\OSX\Interop.CoreFoundation.CFData.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.CoreFoundation.CFDictionary.cs"
             Link="Common\Interop\OSX\Interop.CoreFoundation.CFDictionary.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.CoreFoundation.CFProxy.cs"
             Link="Common\Interop\OSX\Interop.CoreFoundation.CFProxy.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.CoreFoundation.CFUrl.cs"
             Link="Common\Interop\OSX\Interop.CoreFoundation.CFUrl.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.CoreFoundation.CFString.cs"
             Link="Common\Interop\OSX\Interop.CoreFoundation.CFString.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.CoreFoundation.CFNumber.cs"
             Link="Common\Interop\OSX\Interop.CoreFoundation.CFString.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.CoreFoundation.CFError.cs"
             Link="Common\Interop\OSX\Interop.CoreFoundation.CFError.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.RunLoop.cs"
             Link="Common\Interop\OSX\Interop.RunLoop.cs" />
    <Compile Include="$(CommonPath)Interop\OSX\Interop.Libraries.cs"
             Link="Common\Interop\OSX\Interop.Libraries.cs" />
    <Compile Include="$(CommonPath)Microsoft\Win32\SafeHandles\SafeCreateHandle.OSX.cs"
             Link="Common\Microsoft\Win32\SafeHandles\SafeCreateHandle.OSX.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows'">
    <Compile Include="$(CommonPath)\System\Net\HttpStatusDescription.cs"
             Link="Common\System\Net\HttpStatusDescription.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\SystemProxyInfo.Windows.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpEnvironmentProxy.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpEnvironmentProxy.Windows.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpNoProxy.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpWindowsProxy.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\CurrentUserIdentityProvider.Windows.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.BOOL.cs"
             Link="Common\Interop\Windows\Interop.BOOL.cs" />
    <Compile Include="$(CommonPath)\Interop\Windows\Interop.Libraries.cs"
             Link="Common\Interop\Windows\Interop.Libraries.cs" />
    <Compile Include="$(CommonPath)\Interop\Windows\WinHttp\Interop.SafeWinHttpHandle.cs"
             Link="Common\Interop\Windows\WinHttp\Interop.SafeWinHttpHandle.cs" />
    <Compile Include="$(CommonPath)\Interop\Windows\WinHttp\Interop.winhttp_types.cs"
             Link="Common\Interop\Windows\WinHttp\Interop.winhttp_types.cs" />
    <Compile Include="$(CommonPath)\Interop\Windows\WinHttp\Interop.winhttp.cs"
             Link="Common\Interop\Windows\WinHttp\Interop.winhttp.cs" />
    <Compile Include="$(CommonPath)\System\CharArrayHelpers.cs"
             Link="Common\System\CharArrayHelpers.cs" />
    <Compile Include="$(CommonPath)\System\Net\HttpKnownHeaderNames.cs"
             Link="Common\System\Net\HttpKnownHeaderNames.cs" />
    <Compile Include="$(CommonPath)\System\Net\HttpKnownHeaderNames.TryGetHeaderName.cs"
             Link="Common\System\Net\HttpKnownHeaderNames.TryGetHeaderName.cs" />
    <Compile Include="$(CommonPath)\System\Net\SecurityProtocol.cs"
             Link="Common\System\Net\SecurityProtocol.cs" />
    <Compile Include="$(CommonPath)\System\Net\UriScheme.cs"
             Link="Common\System\Net\UriScheme.cs" />
    <Compile Include="$(CommonPath)\System\Net\Http\HttpHandlerDefaults.cs"
             Link="Common\System\Net\Http\HttpHandlerDefaults.cs" />
    <Compile Include="$(CommonPath)\System\Net\Http\WinInetProxyHelper.cs"
             Link="Common\System\Net\Http\WinInetProxyHelper.cs" />
    <Compile Include="$(CommonPath)\System\Net\Security\CertificateHelper.cs"
             Link="Common\System\Net\Security\CertificateHelper.cs" />
    <Compile Include="$(CommonPath)\System\Net\Security\CertificateHelper.Windows.cs"
             Link="Common\System\Net\Security\CertificateHelper.Windows.cs" />
    <Compile Include="$(CommonPath)\System\Runtime\ExceptionServices\ExceptionStackTrace.cs"
             Link="Common\System\Runtime\ExceptionServices\ExceptionStackTrace.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != '' and '$(TargetPlatformIdentifier)' != 'windows' and '$(TargetPlatformIdentifier)' != 'browser'">
    <Compile Include="$(CommonPath)System\StrongToWeakReference.cs"
             Link="Common\Interop\Unix\StrongToWeakReference.cs" />
    <Compile Include="$(CommonPath)System\Net\SecurityProtocol.cs"
             Link="Common\System\Net\SecurityProtocol.cs" />
    <Compile Include="$(CommonPath)System\Net\UriScheme.cs"
             Link="Common\System\Net\UriScheme.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\Interop.Libraries.cs"
             Link="Common\Interop\Unix\Interop.Libraries.cs" />
    <Compile Include="$(CommonPath)System\CharArrayHelpers.cs"
             Link="Common\System\CharArrayHelpers.cs" />
    <Compile Include="$(CommonPath)System\Net\HttpKnownHeaderNames.cs"
             Link="Common\System\Net\HttpKnownHeaderNames.cs" />
    <Compile Include="$(CommonPath)System\Net\HttpKnownHeaderNames.TryGetHeaderName.cs"
             Link="Common\System\Net\HttpKnownHeaderNames.TryGetHeaderName.cs" />
    <Compile Include="$(CommonPath)System\Net\HttpStatusDescription.cs"
             Link="Common\System\Net\HttpStatusDescription.cs" />
    <Compile Include="$(CommonPath)System\Net\Http\HttpHandlerDefaults.cs"
             Link="Common\System\Net\Http\HttpHandlerDefaults.cs" />
    <Compile Include="$(CommonPath)System\Net\Security\CertificateHelper.cs"
             Link="Common\System\Net\Security\CertificateHelper.cs" />
    <Compile Include="$(CommonPath)System\Net\Security\CertificateHelper.Unix.cs"
             Link="Common\System\Net\Security\CertificateHelper.Unix.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != '' and '$(TargetPlatformIdentifier)' != 'windows' and '$(TargetPlatformIdentifier)' != 'browser' and '$(TargetPlatformIdentifier)' != 'osx' and '$(TargetPlatformIdentifier)' != 'ios' and '$(TargetPlatformIdentifier)' != 'tvos'">
    <Compile Include="$(CommonPath)Interop\Unix\System.Security.Cryptography.Native\Interop.Initialization.cs"
             Link="Common\Interop\Unix\System.Security.Cryptography.Native\Interop.Initialization.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'browser'">
    <Compile Include="$(CommonPath)\System\Net\HttpStatusDescription.cs"
             Link="Common\System\Net\HttpStatusDescription.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpKeepAlivePingPolicy.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpNoProxy.cs" />
    <Compile Include="System\Net\Http\SocketsHttpHandler\SocketsHttpConnectionContext.cs" />
    <Compile Include="System\Net\Http\BrowserHttpHandler\SystemProxyInfo.Browser.cs" />
    <Compile Include="System\Net\Http\BrowserHttpHandler\SocketsHttpHandler.cs" />
    <Compile Include="System\Net\Http\BrowserHttpHandler\BrowserHttpHandler.cs" />
    <Compile Include="System\Net\Http\BrowserHttpHandler\HttpTelemetry.Browser.cs" />
    <Compile Include="System\Net\Http\BrowserHttpHandler\BrowserHttpInterop.cs" />
    <Compile Include="$(CommonPath)System\Net\Http\HttpHandlerDefaults.cs"
             Link="Common\System\Net\Http\HttpHandlerDefaults.cs" />
  </ItemGroup>

  <ItemGroup>
    <Reference Include="Microsoft.Win32.Primitives" />
    <Reference Include="System.Collections.NonGeneric" />
    <Reference Include="System.Console" Condition="'$(Configuration)' == 'Debug'" />
    <Reference Include="System.Diagnostics.DiagnosticSource" />
    <Reference Include="System.IO.Compression" />
    <Reference Include="System.Net.NameResolution" />
    <Reference Include="System.Net.NetworkInformation" />
    <Reference Include="System.Net.Primitives" />
    <Reference Include="System.Net.Quic" />
    <Reference Include="System.Net.Security" />
    <Reference Include="System.Net.Sockets" />
    <Reference Include="System.Security.Claims" Condition="'$(TargetPlatformIdentifier)' == 'windows'" />
    <Reference Include="System.Security.Cryptography" />
    <Reference Include="System.Security.Principal.Windows" />
    <Reference Include="System.Threading.Channels" />
    <Reference Include="System.Threading.ThreadPool" />
    <Reference Include="System.IO.Compression.Brotli" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != 'browser'">
    <Reference Include="System.Collections" />
    <Reference Include="System.Collections.Concurrent" />
    <Reference Include="System.Diagnostics.Tracing" />
    <Reference Include="System.Memory" />
    <Reference Include="System.Runtime" />
    <Reference Include="System.Runtime.InteropServices" />
    <Reference Include="System.Threading" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != '' and '$(TargetPlatformIdentifier)' != 'windows' and '$(TargetPlatformIdentifier)' != 'browser'">
    <Reference Include="System.Diagnostics.StackTrace" />
    <Reference Include="System.Security.Cryptography" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'browser'">
    <ProjectReference Include="$(CoreLibProject)" />
    <ProjectReference Include="$(LibrariesProjectRoot)System.Runtime\src\System.Runtime.csproj" />
    <ProjectReference Include="$(LibrariesProjectRoot)System.Threading\src\System.Threading.csproj" />
    <ProjectReference Include="$(LibrariesProjectRoot)System.Private.Uri\src\System.Private.Uri.csproj" PrivateAssets="all" />
    <ProjectReference Include="$(LibrariesProjectRoot)System.Collections.Concurrent\src\System.Collections.Concurrent.csproj" />
    <ProjectReference Include="$(LibrariesProjectRoot)System.Runtime.InteropServices\gen\Microsoft.Interop.SourceGeneration\Microsoft.Interop.SourceGeneration.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
    <ProjectReference Include="$(LibrariesProjectRoot)System.Runtime.InteropServices.JavaScript\gen\JSImportGenerator\JSImportGenerator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
    <ProjectReference Include="$(LibrariesProjectRoot)System.Runtime.InteropServices.JavaScript\src\System.Runtime.InteropServices.JavaScript.csproj" SkipUseReferenceAssembly="true" />
  </ItemGroup>

  <ItemGroup Condition="'$(UseManagedNtlm)' == 'true'">
    <ProjectReference Include="$(LibrariesProjectRoot)System.Formats.Asn1\src\System.Formats.Asn1.csproj" />
  </ItemGroup>

  <ItemGroup>
    <None Include="Resources\SR.resx" />
  </ItemGroup>

</Project>
